package org.jeecg.modules.demo.crm.service;

import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.demo.crm.dto.AuditParamDTO;
import org.jeecg.modules.demo.crm.dto.AuditParametersDTO;
import org.jeecg.modules.demo.crm.dto.CProjectApplicationDTO;
import org.jeecg.modules.demo.crm.dto.CSubProjectDTO;
import org.jeecg.modules.demo.crm.entity.CSubProject;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jetbrains.annotations.NotNull;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * @Description: 子项目信息表
 * @Author: jeecg-boot
 * @Date:   2025-05-27
 * @Version: V1.0
 */
public interface ICSubProjectService extends IService<CSubProject> {

    void submitReview(AuditParametersDTO auditParametersDTO);


    void assignment(CSubProject cSubProject);

    void deleteSubProject(String id);

    void audit(AuditParamDTO auditParamDTO);

    void saveContractorId(CSubProject cSubProject);

    CSubProjectDTO getOrderInfo(String id, String subProjectId, CSubProject cSubProject);

    void edit(CSubProject cSubProject);

    void updateStatus(CSubProject cSubProject);

    void deleteBatch(List<String> list);

    Map<String, Long> statusCount(CSubProject cSubProject, HttpServletRequest req);
}
